<?php
Class ReservaModelo {
	function criarReserva($data,$aula,$turno,$sala,$turmaFK,$usuarioFK,$aplicativoFK){
		require_once('banco.class.php');
		$banco = new Banco();
		
		$sql = "				
				INSERT INTO RESERVA(DATA_RESERVA, AULA_RESERVA, TURNO_RESERVA, SALA_RESERVA, CODIGO_TURMA_FK, CODIGO_USUARIO_FK, CODIGO_APLICATIVO_FK)
				VALUES ('".$data."',".$aula.",".$turno.",".$sala.",".$turmaFK.",".$usuarioFK.",".$aplicativoFK.")
				";

		$result =  $banco->executarQuery($sql);
		
		$banco->fecharConexao();

		return $result;
	}
	function criarReservas($data,$aulas,$turno,$sala,$turmaFK,$usuarioFK,$aplicativoFK){
		$resultado = false;
		foreach ($aulas as $aula){
			$resultado = $this->criarReserva($data,$aula,$turno,$sala,$turmaFK,$usuarioFK,$aplicativoFK);
		}
		return $resultado;
	}
	function temAula($turno,$data,$aula){
		require_once('banco.class.php');
		$banco = new Banco();
		
		$data = addslashes($data);
		$aula = addslashes($aula);
		
		//Sql que busca os administradores
		$sql = 'SELECT 
				R.AULA_RESERVA 
				FROM RESERVA R 
				WHERE R.DATA_RESERVA="'.$data.'"
				AND R.AULA_RESERVA='.$aula.'
				AND R.TURNO_RESERVA='.$turno;
		
		
		$aula = $banco->queryArray($sql);
		
		$banco->fecharConexao();

		return (sizeof($aula)>0);
	}
	function getSalas(){
		//Requirindo a classe de banco
		require_once('banco.class.php');
		$banco = new Banco();
		
		//Sql que busca os administradores
		$sql = 'SELECT DISTINCT R.SALA_RESERVA AS SALA	FROM RESERVA R';
		
		$salas = $banco->queryArray($sql);
		
		$banco->fecharConexao();
		
		return $salas;
	}
	function getReservas($data, $turno){
		//Requirindo a classe de banco
		require_once('banco.class.php');
		$banco = new Banco();
		
		//Protegendo o script de caracteres que podem causar problemas
		$data = addslashes($data);
		
		//Colocando aspas duplas caso a data nao seja NOW()
		$data =  (($data == 'NOW()')? $data : '"'.$data.'"');
				
		//Sql que busca os administradores
		$sql = '
					SELECT 
					R.DATA_RESERVA AS DIA,
					R.AULA_RESERVA AS AULA,
					R.SALA_RESERVA AS SALA,
					T.NOME_TURMA AS TURMA,
					U.NOME_USUARIO AS PROFESSOR,
					A.DESCRICAO_APLICATIVO AS APLICATIVO
					
					
					FROM 
					RESERVA R LEFT JOIN TURMA T ON (R.CODIGO_TURMA_FK = T.CODIGO_TURMA_PK)
					LEFT JOIN USUARIO U ON (R.CODIGO_USUARIO_FK = U.CODIGO_USUARIO_PK)
					LEFT JOIN APLICATIVO A ON (R.CODIGO_APLICATIVO_FK = A.CODIGO_APLICATIVO_PK)
				
					WHERE
					WEEKOFYEAR(R.DATA_RESERVA)=WEEKOFYEAR('.$data.')
					AND R.TURNO_RESERVA = '.$turno.'
					ORDER BY R.DATA_RESERVA ASC , R.AULA_RESERVA ASC 
					';
		
		$reservas = $banco->queryArray($sql);
		
		$banco->fecharConexao();
		
		return $reservas;
	}
	function getReservasManha($data){		
		return $this->getReservas($data,1);
	}
	
	function getReservasTarde($data){
		return $this->getReservas($data,2);
	}
	
    
}
?>